#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>//将一个2*3的矩阵进行转置
int main()
{
	int i, j, a[2][3] = { 0 }, b[3][2] = { 0 };
	for (i = 0;i < 2;i++)
	{
		for (j = 0;j < 3;j++)
			scanf("%d", a[i][j]);
	}
	for (i = 0;i < 3;i++)
	{
		for (j = 0;j < 2;j++)
		{
			b[i][j] = a[j][i];
			printf("%d ", b[i][j]);
		}
        printf("\n");
	}
	return 0;
}

//输入一个N阶方阵，求方阵四边各个数据的和
int main()
{
	int i, j, a[10][10], n, s = 0, k = 0, sum = 0;
	scanf("%d", &n);
	for (i = 0;i < n;i++)
	{
		for (j = 0;j < n;j++)
		{
			scanf("%d", &a[i][j]);//a[i]+j
			s += a[i][j];
		}
	}
	for (i = 1; i < n - 1; i++)
	{
		for (j = 1; j < n - 1; j++)
			k += a[i][j];
	}
	sum = s - k;
	printf("%d", sum);
	return 0;
}

//在一个M* N的二维数组中，找出每一行的最大数，以及数组最大数
int main()
{
	int i, j, a[50][50], max[50] = { 0 }, k = 0, M, N;
	scanf("%d", &M);
	scanf("%d", &N);
	for (i = 0;i < M;i++)
	{
		for (j = 0;j < N;j++)
			scanf("%d", &a[i][j]);//a[i]+j
	}
	for (i = 0;i < M;i++)
	{
		max[i] = 0;
		for (j = 0;j < N;j++)
			if (a[i][j] > max[i])max[i] = a[i][j];
        printf("%d:%d\n", i, max[i]);
	}
	for (i = 0;i < M;i++)
		if (k < max[i]) k = max[i];
	printf("max:%d", k);
	return 0;
}

//一个学习小组有5个人，每个人有三门课的考试成绩。将学生成绩保存在数组中，并求每个学生的平均成绩和总平均成绩。分三行
int main()
{
	int i, j, a[3][5] = { 0 };
	double stud[5] = { 0,0,0,0,0 }, total = 0;
	for (i = 0;i < 3;i++)
	{
		for (j = 0;j < 5;j++)
			scanf("%3d", &a[i][j]);//a[i]+j
	}

	for (j = 0;j < 5;j++)
	{
		for (i = 0;i < 3;i++)
			stud[j] += a[i][j];
		stud[j] /= 3;

	}
	for (j = 0;j < 5;j++)
		total += stud[j];
	total /= 5;

	for (i = 0;i < 5;i++)
		printf("stud[%d]:%.2lf\n", i, stud[i]);
	printf("total:%.2lf\n", total);
	return 0;
}